1. Field of the Invention
This invention generally relates to information processing apparatuses and, more particularly, to an information processing apparatus which includes a plurality of processors and between which data is transferred.
2. Description of the Prior Art
When one processor does not suffice for large-scale equipment control in terms of processing capacity, a multiprocessor system in which a plurality of processors are connected to each other is employed. A multiprocessor system is also employed in a case where the scale of equipment to be controlled by one processor is so large that it is difficult to connect signal lines from a plurality of sensors and actuators to the processor. To control such equipment, so that units of the equipment cooperate suitably with each other, it is often necessary to interconnect processors into a multiprocessor system so that data can be exchanged between the processors. For example, in a multiprocessor system consisting of a processor A and a processor B, a value read from a sensor by the processor A is used by the processor B.
Multiprocessor systems are generally grouped into two types one wherein a bus is shared, and the other wherein the bus is not shared. Data transmission in the former is easier in comparison with that in the latter. Among the former type of multiprocessor systems, i.e., systems in which a bus is shared, a multiprocessor system having a shared memory enables particularly easy data transfer between processors, as described below. For example, in the case of a multiprocessor system consisting of two processors A and B and having a shared memory M1 which is readable/writable from each of the processors A and B, when data is transferred from processor A to processor B, the operation may be such that processor A writes the data to be transferred in the memory M1 and processor B then reads out the data written by the processor A from the memory M1.
However, as is well known, a bus cannot be shared between a plurality of processors placed at a substantially large distance from each other. A bus line carries a signal having a frequency of several MHz to several tens of MHz, and the length of the bus line is generally limited to several tens of centimeters. Accordingly, multiprocessor systems in which the bus is not shared are ordinarily used as control systems for enabling the cooperation of controlled objects spatially remote from each other. There are various means for effecting communication between processors without using a shared bus. For example, the RS-232C interface is often used as a low-speed simple means of this kind, and Ethernet is used as a means for enabling high-speed communication and providing a function of preventing occurrence of contention between processors.
For example, in a multiprocessor system in which a plurality of microcomputers are connected through RS-232C interfaces, hardware for sending data of one or two types from one processor to another processor can be realized by using a serial communication control LSI device, e.g., 8251, a product from Intel Corp., or Z80SIO, a product from Zilog Inc.
However, it is necessary for the programmer to write a step for calling a sub program for data transfer between one processor and some other processors each time a need for using data on other processors arises. Moreover, if in the process of developing a system, a processor A to which certain data X pertains is changed to a processor B, rewriting all the program steps using data X is required and the programmer must do this troublesome operation.